package com.example.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 客户端应用信息表
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("oauth2_registered_client")
public class Oauth2RegisteredClientEntity extends BaseEntity {
    @TableId
    private String id;
    /**
     * 客户端唯一标识主键
     */
    private String clientId;
    
    /**
     * 客户端ID颁发时间
     */
    private Date clientIdIssuedAt;
    
    /**
     * 客户端密钥
     */
    private String clientSecret;


    
    /**
     * 客户端密钥过期时间
     */
    private Date clientSecretExpiresAt;
    
    /**
     * 客户端名称
     */
    private String clientName;

    private String clientSecretPlaintext;
    
    /**
     * 客户端认证方式（JSON数组）
     */
    private String clientAuthenticationMethods;
    
    /**
     * 授权类型（JSON数组）
     */
    private String authorizationGrantTypes;
    
    /**
     * 授权回调URI（JSON数组）
     */
    private String redirectUris;
    
    /**
     * 退出登录后回调URI（JSON数组）
     */
    private String postLogoutRedirectUris;
    
    /**
     * 授权范围（JSON数组）
     */
    private String scopes;
    
    /**
     * 客户端配置（JSON字符串）
     */
    private String clientSettings;
    
    /**
     * 令牌配置（JSON字符串）
     */
    private String tokenSettings;
    
    /**
     * 门店ID
     */
    private Long storeId;
    private Integer isBusinessUser;
}